home *** CD-ROM | disk | FTP | other *** search
- /************************************************************************************
- *
- * Project Name: Templates
- * File Name: fval.c
- * Author: Rob Neville (IIx)
- * Date: May 17, 1989
- *
- * Description: Template fval function.
- *
- *************************************************************************************
- *
- * Revision History:
- * 5/17/89 - Original version by Rob Neville (IIx)
- * 6/26/89 - rev'd for b2 of Toolbox
- *
- ************************************************************************************/
-
- #include "FTTool.h"
-
- pascal long FVAL(hTH,msg,p1,p2,p3)
- ToolHandle hTH;
- short msg;
- long p1,p2,p3;
- {
- long theErr = noErr;
- long ToolValidate();
- void ToolDefault();
-
- switch (msg)
- {
- case validateMsg: /* Validate */
- theErr = ToolValidate(hTH);
- break;
- case DefaultMsg: /* Default */
- ToolDefault((ConfigPtr *)p1,(Boolean)p2);
- break;
- default: /* Shouldn't get here but... */
- theErr = noErr;
- break;
- }
- return (theErr);
- #pragma unused (p3)
- }
-
- long ToolValidate(ToolHandle hTH)
- {
- ConfigPtr pConfig;
- pConfig = (ConfigPtr)(**hTH).config;
- if (pConfig->param1 != 1 && pConfig->param1 != 0) {
- pConfig->param1 = true;
- return (1);
- }
- if (pConfig->param2 != 1 && pConfig->param2 != 0) {
- pConfig->param2 = true;
- return (1);
- }
- return(noErr);
- }
-
- void ToolDefault(ConfigPtr *configP,Boolean allocate)
- {
- ConfigPtr locConfig;
-
- if (allocate)
- {
- locConfig = (ConfigPtr)NewPtr(sizeof(Config));
- *configP = locConfig;
- }
- if (*configP != nil)
- {
- (**configP).param1 = true;
- (**configP).param2 = true;
- }
- }